#ifndef __VDP_DRV_IP_TCHDR_H__
#define __VDP_DRV_IP_TCHDR_H__

#include "vdp_drv_comm.h"

typedef enum
{
    VDP_TCHDR_TYP = 0,
    VDP_TCHDR_TYP1 ,
    VDP_TCHDR_RAND ,
    VDP_TCHDR_MAX ,
    VDP_TCHDR_MIN ,
    VDP_TCHDR_ZERO ,
    VDP_TCHDR_BUTT
} VDP_TCHDR_MODE_E;

typedef enum
{
    VDP_TCHDR_L1000_D_PURE_FULL = 1,
    VDP_TCHDR_L1000_D_PURE_LIMIT  ,
    VDP_TCHDR_L1000_D_ARIB_FULL   ,
    VDP_TCHDR_L1000_D_709_FULL    ,
    VDP_TCHDR_L1000_D_PQ_FULL     ,
    VDP_TCHDR_L1200_D_PQ_FULL     ,
    VDP_TCHDR_L1500_D_PQ_FULL     ,
    VDP_TCHDR_L2000_D_PQ_FULL     ,
    //add
    VDP_TCHDR_709_ADD_122_PQ_FULL ,
    VDP_TCHDR_2020_ADD_122_PQ_FULL ,
    //add
    VDP_TCHDR_709_086435_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086435_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086445_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086445_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086465_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086465_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086575_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086575_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086605_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086605_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086633_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086633_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086640_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086640_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086712_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086712_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086760_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086760_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_709_086805_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_709_086805_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_2020_086755_0_L1000_D_PQ_FULL     ,
    VDP_TCHDR_2020_086755_1_L1000_D_PQ_FULL     ,

    VDP_TCHDR_L1200 ,
    VDP_TCHDR_L1500 ,
    VDP_TCHDR_L2000 ,
    VDP_TCHDR_SCENE_BUTT
} VDP_TCHDR_SCENE_E;

typedef struct
{
    HI_U32 tchdr_demo_pos  ;
    HI_U32 tchdr_demo_mode ;
    HI_U32 tchdr_demo_en   ;
    HI_U32 tchdr_ck_gt_en  ;
    HI_U32 tchdr_cert_en   ;
    HI_U32 tchdr_en        ;
    VDP_TCHDR_SCENE_E tchdr_scene;
} VDP_TCHDR_CFG_S;

//function declare

HI_VOID VDP_FUNC_SetTchdrMode(HI_U32 enLayer , VDP_TCHDR_MODE_E TchdrMode, VDP_TCHDR_CFG_S *pstCfg);

#endif



